/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.unmsm.cinfo.siga.datos;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author alumno
 */
@Embeddable
public class ModuloCalendarioPK implements Serializable {
    @Basic(optional = false)
    @Column(name = "AUL_COD")
    private int aulCod;
    @Basic(optional = false)
    @Column(name = "MODG_COD")
    private String modgCod;
    @Basic(optional = false)
    @Column(name = "MODC_FECH")
    @Temporal(TemporalType.DATE)
    private Date modcFech;
    @Basic(optional = false)
    @Column(name = "MODC_TIPO")
    private short modcTipo;
    @Basic(optional = false)
    @Column(name = "MODC_INI")
    @Temporal(TemporalType.TIME)
    private Date modcIni;

    public ModuloCalendarioPK() {
    }

    public ModuloCalendarioPK(int aulCod, String modgCod, Date modcFech, short modcTipo, Date modcIni) {
        this.aulCod = aulCod;
        this.modgCod = modgCod;
        this.modcFech = modcFech;
        this.modcTipo = modcTipo;
        this.modcIni = modcIni;
    }

    public int getAulCod() {
        return aulCod;
    }

    public void setAulCod(int aulCod) {
        this.aulCod = aulCod;
    }

    public String getModgCod() {
        return modgCod;
    }

    public void setModgCod(String modgCod) {
        this.modgCod = modgCod;
    }

    public Date getModcFech() {
        return modcFech;
    }

    public void setModcFech(Date modcFech) {
        this.modcFech = modcFech;
    }

    public short getModcTipo() {
        return modcTipo;
    }

    public void setModcTipo(short modcTipo) {
        this.modcTipo = modcTipo;
    }

    public Date getModcIni() {
        return modcIni;
    }

    public void setModcIni(Date modcIni) {
        this.modcIni = modcIni;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (int) aulCod;
        hash += (modgCod != null ? modgCod.hashCode() : 0);
        hash += (modcFech != null ? modcFech.hashCode() : 0);
        hash += (int) modcTipo;
        hash += (modcIni != null ? modcIni.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof ModuloCalendarioPK)) {
            return false;
        }
        ModuloCalendarioPK other = (ModuloCalendarioPK) object;
        if (this.aulCod != other.aulCod) {
            return false;
        }
        if ((this.modgCod == null && other.modgCod != null) || (this.modgCod != null && !this.modgCod.equals(other.modgCod))) {
            return false;
        }
        if ((this.modcFech == null && other.modcFech != null) || (this.modcFech != null && !this.modcFech.equals(other.modcFech))) {
            return false;
        }
        if (this.modcTipo != other.modcTipo) {
            return false;
        }
        if ((this.modcIni == null && other.modcIni != null) || (this.modcIni != null && !this.modcIni.equals(other.modcIni))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "pe.edu.unmsm.cinfo.siga.datos.ModuloCalendarioPK[ aulCod=" + aulCod + ", modgCod=" + modgCod + ", modcFech=" + modcFech + ", modcTipo=" + modcTipo + ", modcIni=" + modcIni + " ]";
    }

}
